/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;

import java.sql.SQLException;

/**
 *
 * @author progerio003
 */
public class LoginDAO {

    public LoginDAO(){}//construtor default

     /*
      * O método verificaLogin() é responsável por validar o acesso ao sistema e retornar
      * o nome do usuário
      */
     public String verificaLogin(String login, String senha){
        DAO banco = new DAO("mysql");
        String nome = "";
       
        banco.conectarBanco();

        String query;

        query = "";
        query = "select * ";
        query += "from usuarios usue ";
        query += "where 1 = 1 ";
        query += "and usue.login = '" + login.toUpperCase() + "' ";
        query += "and usue.senha = '" + senha + "' ";


        banco.executarQuery(query);
        try {

        if(banco.rs.next()){
            nome = banco.rs.getObject("nome").toString();
            
        }
        }catch (SQLException ex){
            ex.printStackTrace();
            throw new UnsupportedOperationException("Não foi possível executar a transação com o banco de dados!");
        }finally{
            banco.desconectarBanco();
        }
        return nome;
    }


/* Esse método retorna as permissões de usuário. Ele é chamado sempre após a verificação do login
 * Aconsulta das permissões quando realizada, traz as permissões separadas por ';'
 */
public String verificaPermissoes(String login){
        String permissoes = "";
        String query;

        DAO banco = new DAO("oracle");


        query = "select fsi.fsi_funcao from segur.pac_permissoes_acesso pac, segur.fsi_funcoes_sistema fsi ";
        query += "where pac.sis_cd_sistema = 125 ";
        query += "and   pac.usu_cd_usuario = '" + login.toUpperCase() + "' ";
        query += "and   pac.fsi_cd_funcao = fsi.fsi_cd_funcao ";

        banco.conectarBanco();
        banco.executarQuery(query);
        try {

        while (banco.rs.next()) {
                permissoes += banco.rs.getObject("fsi_funcao").toString() + ";";
            }
        }catch (SQLException ex){
            ex.printStackTrace();
            throw new UnsupportedOperationException("Não foi possível executar a transação com o banco de dados!");
        }finally{
            banco.desconectarBanco();
        }
        return permissoes;

}
}
